<#assign assign_service="${service.interface.name?replace('I', '', 'f')?uncap_first}">
<#lt/>
<#lt/>
<#lt/>
package ${action.package};

import com.zorn.core.provider.ActionSupportProvider;
import ${service.interface.namespace};

public class ${action.name} extends ActionSupportProvider {

	/* Fields
	================================================== */
	private ${service.interface.name} ${assign_service};

	/* Methods
	================================================== */
	public String ${(action.method.query.name)!"query"}() {
		${assign_service}.${(service.interface.method.query.name)!"query"}(getParameterMap());

		setJSONObject(${assign_service}.getResult());

		return JSON_RESULT;
	}

	public String ${(action.method.count.name)!"count"}() {
		${assign_service}.${(service.interface.method.count.name)!"count"}(getParameterMap());

		setJSONObject(${assign_service}.getResult());

		return JSON_RESULT;
	}

	public String ${(action.method.insert.name)!"insert"}() {
		${assign_service}.${(service.interface.method.insert.name)!"insert"}(getParameterMap());

		setJSONObject(${assign_service}.getResult());

		return JSON_RESULT;
	}

	public String ${(action.method.update.name)!"update"}() {
		${assign_service}.${(service.interface.method.update.name)!"update"}(getParameterMap());

		setJSONObject(${assign_service}.getResult());

		return JSON_RESULT;
	}

	public String ${(action.method.delete.name)!"delete"}() {
		${assign_service}.${(service.interface.method.delete.name)!"delete"}(getParameterMap());

		setJSONObject(${assign_service}.getResult());

		return JSON_RESULT;
	}

	/* Getters & Setters
	================================================== */
	public void set${service.interface.name?replace('I', '', 'f')}(${service.interface.name} ${assign_service}) {
		this.${assign_service} = ${assign_service};
	}

}